package main

import (
	"fmt"
	"os"
	"errors"
)

func main() {
	err := os.ErrPermission
	// 现在的判断是正确的
	if os.IsPermission(err) {
		fmt.Printf("error(permission): %s\n", err)
	} else {
		fmt.Printf("error(other): %s\n", err)
	}
	// 由于字段名是大写的，就可以修改了。
	// os.ErrPermission = os.ErrExist  // 这句怕看不懂，其实就是改掉原本的值
	os.ErrPermission = errors.New("可以是任意内容啊")  // 把原值改掉，改成什么不重要
	// 这次再判断err类型就不一样了。err还是开头的err，但是判断结果不一样了
	if os.IsPermission(err) {
		fmt.Printf("error(permission): %s\n", err)
	} else {
		fmt.Printf("error(other): %s\n", err)
	}
}